I. Field
This application relates generally to a method and system for sending messages to users, and more specifically, to routing messages to users across various modes of communication.
II. Related Art
Messenger services allow users to communicate across electronic network-connected devices. Consumer-targeted messenger services such as Windows Messenger™, Google Hangouts™, and AOL Instant Messenger™ allow two users on separate devices to communicate with one another by sending messages between the two devices. These messenger services send messages for display at a user interface of other devices running the same messenger service.
Messages can be sent between instances of the same service, with some of the messages being communicated between users across network-connected devices with the messenger service. Typically, these message services operate through a network server which receives and forwards messages based on a recipient designated in the message. This type of messaging service often provides users conversational capabilities with other users of the messaging service.
In some messaging services, there are only means for one-way communication. Examples of this type of messaging service include notification messaging services like those provided by Facebook™ and Google™. These messaging services only provide a notification to a user without giving the user an ability to respond or engage in a dialog with the sender. These notifications can be used to notify the user of web-based events like receipt of a message or comment on their online profile, or of real world events such as traffic on frequently traveled roads or severe weather alerts, but the notifications are limited to those running the specific messaging service.
Traditional messenger services implement a proprietary communications protocol between the various instances of the messenger service. These proprietary protocols allow developers of the messenger service to increase quality of service by controlling (e.g., limiting) variability in the implementations of the messenger service. Only those messenger services authorized by the developer can interface with the other messenger services using that proprietary protocol. As a result, the messenger service is not scalable within itself. In contrast, the whole messenger service must be replicated and run separately to increase capacity. Additionally, known messenger services are unable to interface with other communications channels.
Thus, there is a need in the art for a messenger service that allows for improved scalability and that interfaces with a plurality of communication channels.